package fr.afcepf.vod.managedbean;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.model.SelectItem;

import fr.afcepf.vod.entities.Tarifvideounite;
import fr.afcepf.vod.entities.Video;
import fr.afcepf.vod.metier.IGestionTarif;
import fr.afcepf.vod.metier.IGestionVideo;



@ManagedBean
@SessionScoped
public class MbCreationVideo {
	
	@ManagedProperty(value="#{gestionVideoImpl}")
	private IGestionVideo gestionVideo;
	
	@ManagedProperty(value="#{gestionTarifImpl}")
	private IGestionTarif gestionTarif;
	
	private Video nouvelleVideo;
	private List<Tarifvideounite> lesTarifs;
	private int idTarifChoisi;
	private Tarifvideounite tarifChoisi;

	

	private Locale locale = Locale.FRANCE;
	

	public String ajouterVideo(){
		
		tarifChoisi = gestionTarif.getTarifById(idTarifChoisi);
		gestionVideo.ajouterVideo(nouvelleVideo, tarifChoisi);
		
		initialiserPage();
		return "NouvelleVideo.jsf";
	}
	
	@PostConstruct
	public void initialiserPage(){
		nouvelleVideo = new Video();
		Date maintenant = new Date();
		nouvelleVideo.setDateMiseAdispo(maintenant);
		nouvelleVideo.setDateFinMiseADispo(maintenant);
		lesTarifs = gestionTarif.getListeTarifsValides(nouvelleVideo.getDateMiseAdispo(), nouvelleVideo.getDateFinMiseADispo());
	}
	
	public void initialiserListeTarifs(){
		lesTarifs = gestionTarif.getListeTarifsValides(nouvelleVideo.getDateMiseAdispo(), nouvelleVideo.getDateFinMiseADispo());
	}
	
	public Video getNouvelleVideo() {
		return nouvelleVideo;
	}
	public void setNouvelleVideo(Video nouvelleVideo) {
		this.nouvelleVideo = nouvelleVideo;
	}
	public Locale getLocale() {
		return locale;
	}
	public void setLocale(Locale locale) {
		this.locale = locale;
	}

	public IGestionVideo getGestionVideo() {
		return gestionVideo;
	}

	public void setGestionVideo(IGestionVideo gestionVideo) {
		this.gestionVideo = gestionVideo;
	}

	
	public List<Tarifvideounite> getLesTarifs() {
		return lesTarifs;
	}

	public void setLesTarifs(List<Tarifvideounite> lesTarifs) {
		this.lesTarifs = lesTarifs;
	}

	public Tarifvideounite getTarifChoisi() {
		return tarifChoisi;
	}

	public void setTarifChoisi(Tarifvideounite tarifChoisi) {
		this.tarifChoisi = tarifChoisi;
	}

	public IGestionTarif getGestionTarif() {
		return gestionTarif;
	}

	public void setGestionTarif(IGestionTarif gestionTarif) {
		this.gestionTarif = gestionTarif;
	}

	

	public int getIdTarifChoisi() {
		return idTarifChoisi;
	}

	public void setIdTarifChoisi(int idTarifChoisi) {
		this.idTarifChoisi = idTarifChoisi;
	}

	
}
